Intra blocks make use of existing redundancy in spatial correlation to improve video coding efficiency. How to effectively utilize spatial correlation is fundamental to the efficiency of current video codecs for intra coding. It is observed that the correlation between pixels decreases with the spatial distance. In current state-of-the art coding standards such as, for example, the International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) Standard/International Telecommunication Union, Telecommunication Sector (ITU-T) H.264 Recommendation (hereinafter the “MPEG-4 AVC Standard”), only the encoded pixels above or to the left of the current block are used as its predictors, which may be quite far from the bottom right pixels to be predicted. As a natural affect of redundancy likely existing due to spatial proximity, the prediction accuracy in such schemes is normally limited, and the prediction accuracy of the bottom right pixels may be limited. In addition, extrapolation is used instead of interpolation because of the limitation of causality.
MPEG-4 AVC Standard Intra Prediction
The MPEG-4 AVC Standard is the first video coding standard that employs spatial directional prediction for intra coding. The MPEG-4 AVC Standard provides a flexible prediction framework, thus the coding efficiency is greatly improved over previous standards where intra prediction was only performed in the transform domain. In the MPEG-4 AVC Standard, spatial intra prediction is performed using the surrounding available samples, which are the previously reconstructed samples available at the decoder within the same slice. For luma samples, intra prediction can be done on a 4×4 block basis (denoted as Intra_4×4), an 8×8 block basis (denoted as Intra_8×8) and on a 16×16 macroblock basis (denoted as Intra_16×16). Turning to FIG. 1, MPEG-4 AVC Standard directional intra prediction with respect to a 4×4 block basis (Intra_4×4) is indicated generally by the reference numeral 100. Prediction directions are generally indicated by the reference numeral 110, image blocks are generally indicated by the reference numeral 120, and a current block is indicated by the reference numeral 130. In addition to luma prediction, a separate chroma prediction is performed. There are a total of nine prediction modes for Intra_4×4 and Intra_8×8, four modes for Intra_16×16 and four modes for the chroma component. The encoder typically selects the prediction mode that minimizes the difference between the prediction and original block to be coded. A further intra coding mode, I_PCM, allows the encoder to simply bypass the prediction and transform coding processes. It allows the encoder to precisely represent the values of the samples and place an absolute limit on the number of bits that may be contained in a coded macroblock without constraining decoded image quality.
Turning to FIG. 2, labeling of prediction samples for the Intra_4×4 mode of the MPEG-4 AVC Standard is indicated generally by the reference numeral 200. FIG. 2 shows the samples (in capital letters A-M) above and to the left of the current blocks which have been previously coded and reconstructed and are therefore available at the encoder and decoder to form the prediction.
Turning to FIGS. 3B-J, Intra_4×4 luma prediction modes of the MPEG-4 AVC Standard are indicated generally by the reference numeral 300. The samples a, b, c, . . . , p of the prediction block are calculated based on the samples A-M using the Intra_4×4 luma prediction modes 300. The arrows in FIGS. 3B-J indicate the direction of prediction for each of the Intra_4×4 modes 300. The Intra_4×4 luma prediction modes 300 include modes 0-8, with mode 0 (FIG. 3B, indicated by reference numeral 310) corresponding to a vertical prediction mode, mode 1 (FIG. 3C, indicated by reference numeral 311) corresponding to a horizontal prediction mode, mode 2 (FIG. 3D, indicated by reference numeral 312) corresponding to a DC mode, mode 3 (FIG. 3E, indicated by reference numeral 313) corresponding to a diagonal down-left mode, mode 4 (FIG. 3F, indicated by reference numeral 314) corresponding to a diagonal down-right mode, mode 5 (FIG. 3G, indicated by reference numeral 315) corresponding to a vertical-right mode, mode 6 (FIG. 3H, indicated by reference numeral 316) corresponding to a horizontal-down mode, mode 7 (FIG. 3I, indicated by reference numeral 317) corresponding to a vertical-left mode, and mode 8 (FIG. 3J, indicated by reference numeral 318) corresponding to a horizontal-up mode. FIG. 3A shows the general prediction directions 330 corresponding to each of the Intra_4×4 modes 300.
In modes 3-8, the predicted samples are formed from a weighted average of the prediction samples A-M. Intra_8×8 uses basically the same concepts as the 4×4 predictions, but with a block size 8×8 and with low-pass filtering of the predictors to improve prediction performance.
Turning to FIGS. 4A-D, four Intra_16×16 modes corresponding to the MPEG-4 AVC Standard are indicated generally by the reference numeral 400. The four Intra_16×16 modes 400 includes modes 0-3, with mode 0 (FIG. 4A, indicated by reference numeral 411) corresponding to a vertical prediction mode, mode 1 (FIG. 4B, indicated by reference numeral 412) corresponding to a horizontal prediction mode, mode 2 (FIG. 4C, indicated by reference numeral 413) corresponding to a DC prediction mode, and mode 3 (FIG. 4D, indicated by reference numeral 414) corresponding to a plane prediction mode. Each 8×8 chroma component of an intra coded macroblock is predicted from previously encoded chroma samples above and/or to the left and both chroma components use the same prediction mode. The four prediction modes are very similar to the Intra_16×16, except that the numbering of the modes is different. The modes are DC (mode 0), horizontal (mode 1), vertical (mode 2) and plane (mode 3).
Although intra prediction in the MPEG-4 AVC Standard can exploit some spatial redundancy within a picture, the prediction only relies on pixels above or to the left of the block which have already been encoded. The spatial distance between the pixels serving as predictions (which we call predictor pixels) and the pixels being predicted (which we call predicted pixels), especially the ones on the bottom right of the current block, can be large. With a large spatial distance, the correlation between pixels can be low, and the residue signals can be large after prediction, which affects the coding efficiency. In addition, as noted above, extrapolation is used instead of interpolation because of the limitation of causality.
Planar Prediction for Intra 16×16
In a first prior art approach, a new encoding method for the planar mode of intra 16×16 is proposed. When a macroblock is coded in planar mode, its bottom-right sample is signaled in the bitstream, the rightmost and bottom samples of the macroblock are linearly interpolated, and the middle samples are bi-linearly interpolated from the border samples. When planar mode is signaled, the same algorithm is applied to luminance and both chrominance components separately with individual signaling of the bottom-right samples (using a 16×16 based operation for luminance and an 8×8 based operation for chrominance). The planar mode does not code the residue.
Although the new planar prediction method exploits some spatial correlation with the bottom-right sample, the prediction accuracy of the right and bottom pixels are still quite limited.